Application testing is an important means for checking functionality of an application. At present, mobile devices such as a mobile phone and a tablet computer have become more prevalent than before. Correspondingly, many application providers are developing mass applications for mobile devices. In the context of the present invention, applications running on mobile devices are called “mobile applications”.
Mobile devices manufactured by different manufacturers can run on different platforms. Moreover, the same platforms can also have a plurality of different versions. Compared with the traditional desktop computer, the platforms of mobile devices develop more rapidly. The above features of the mobile device bring challenges to testing for mobile applications.
In testing for mobile applications, besides the testing of the function per se, consistency of an application on different platforms should also be tested. The same application should have the same behaviors on different platforms, including function, user interface (UI), and generated data. Conventionally, a tester needs to operate the application manually on different platforms based on a predetermined testing process, and collect corresponding testing data. Afterwards, the tester needs to compare testing data for different platforms, thereby accomplishing the testing on cross-platform consistency. The above testing process requires the tester to repeat the testing operations for different platforms, which is time-consuming and inflexible. Additionally, in some cases, a testing process purely based on judgment of a human user is error-prone. Cross-platform testing is also necessary for many applications on traditional desktop computers as these problems do not only exist in mobile application testing.